/*    */ package com.zimbra.cs.pop3;
/*    */ 
/*    */ import com.zimbra.common.localconfig.KnownKey;
/*    */ import com.zimbra.common.localconfig.LC;
/*    */ import com.zimbra.common.service.ServiceException;
/*    */ import com.zimbra.common.stats.RealtimeStatsCallback;
/*    */ import com.zimbra.cs.server.ProtocolHandler;
/*    */ import com.zimbra.cs.server.ServerThrottle;
/*    */ import com.zimbra.cs.server.TcpServer;
/*    */ import com.zimbra.cs.stats.ZimbraPerf;
/*    */ import java.util.HashMap;
/*    */ import java.util.Map;
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ public final class TcpPop3Server
/*    */   extends TcpServer
/*    */   implements Pop3Server, RealtimeStatsCallback
/*    */ {
/*    */   public TcpPop3Server(Pop3Config config)
/*    */     throws ServiceException
/*    */   {
/* 34 */     super(config);
/* 35 */     ZimbraPerf.addStatsCallback(this);
/* 36 */     ServerThrottle.configureThrottle(config.getProtocol(), LC.pop3_throttle_ip_limit.intValue(), LC.pop3_throttle_acct_limit.intValue(), getThrottleSafeHosts(), getThrottleWhitelist());
/*    */   }
/*    */   
/*    */   public String getName()
/*    */   {
/* 41 */     return getConfig().isSslEnabled() ? "Pop3SSLServer" : "Pop3Server";
/*    */   }
/*    */   
/*    */   protected ProtocolHandler newProtocolHandler()
/*    */   {
/* 46 */     return new TcpPop3Handler(this);
/*    */   }
/*    */   
/*    */   public Pop3Config getConfig()
/*    */   {
/* 51 */     return (Pop3Config)super.getConfig();
/*    */   }
/*    */   
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */   public Map<String, Object> getStatData()
/*    */   {
/* 60 */     Map<String, Object> data = new HashMap();
/* 61 */     if (getConfig().isSslEnabled()) {
/* 62 */       data.put("pop_ssl_conn", Integer.valueOf(numActiveHandlers()));
/* 63 */       data.put("pop_ssl_threads", Integer.valueOf(numThreads()));
/*    */     } else {
/* 65 */       data.put("pop_conn", Integer.valueOf(numActiveHandlers()));
/* 66 */       data.put("pop_threads", Integer.valueOf(numThreads()));
/*    */     }
/* 68 */     return data;
/*    */   }
/*    */ }


/* Location:              /home/mint/zimbrastore.jar!/com/zimbra/cs/pop3/TcpPop3Server.class
 * Java compiler version: 7 (51.0)
 * JD-Core Version:       0.7.1
 */